package gui.tableModel;

import java.util.List;

import javax.swing.table.AbstractTableModel;

import valueobjects.Betrieb.Betrieb;

public class TableModelBetrieb extends AbstractTableModel {

	List<Betrieb> betriebList;

	public TableModelBetrieb() {

	}

	public List<Betrieb> getBetriebList() {
		return betriebList;
	}

	public void setListBetrieb(List<Betrieb> betriebList) {
		this.betriebList = betriebList;
		super.fireTableDataChanged();
	}

	public Class<?> getColumnClass(int col) {
		switch (col) {
		case 0:
			return Integer.class;
		case 1:
			return String.class;
		case 2:
			return String.class;
		case 3:
			return Integer.class;
		case 4:
			return Integer.class;
		case 5:
			return String.class;
		case 6:
			return String.class;
		case 7:
			return String.class;

		default:
			throw new IllegalArgumentException();
		}
	}

	public String getColumnName(int col) {
		switch (col) {
		case 0:
			return "Betrieb_ID";
		case 1:
			return "Bezeichnung";
		case 2:
			return "Straße";
		case 3:
			return "Hausnummer";
		case 4:
			return "PLZ";
		case 5:
			return "Ort";
		case 6:
			return "Vorwahl";
		case 7:
			return "Telefon";
		default:
			throw new IllegalArgumentException();
		}

	}

	@Override
	public int getColumnCount() {
		// TODO Auto-generated method stub
		return 8;
	}

	@Override
	public int getRowCount() {
		if (betriebList == null) {
			return 0;
		} else {
			return betriebList.size();
		}
	}

	@Override
	public Object getValueAt(int row, int col) {
		switch (col) {
		case 0:
			return betriebList.get(row).getId();
		case 1:
			return betriebList.get(row).getBezeichnung();
		case 2:
			return betriebList.get(row).getStrasse();
		case 3:
			return betriebList.get(row).getHausnummer();
		case 4:
			return betriebList.get(row).getPlz();
		case 5:
			return betriebList.get(row).getOrt();
		case 6:
			return betriebList.get(row).getVorwahl();
		case 7:
			return betriebList.get(row).getTelefon();
		default:
			throw new IllegalArgumentException();
		}

	}
	public Betrieb getSelectedModel(int index){
		return this.betriebList.get(index);
	}
	
}
